package br.com.controleVendas.entity;


import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToOne;
import javax.persistence.Table;

import org.hibernate.annotations.ForeignKey;

@SuppressWarnings("deprecation")
@Entity
@Table(name = "venda_produto")
public class VendaProduto extends GenericEntity<VendaProduto>
{
    private static final long serialVersionUID = 7139677152100665932L;

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Column(name = "cd_id")
    private Long              cdId;

    @OneToOne
    @JoinColumn(name = "fk_produto", referencedColumnName = "cd_id")
    @ForeignKey(name="fk_vendaProduto_produto")
    private Produto           produto;

    @ManyToOne
    @JoinColumn(name = "fk_venda", referencedColumnName = "cd_id")
    @ForeignKey(name="fk_vendaProduto_venda")
    private Venda             venda;

    @Column(name = "qtd_produto")
    private Integer           qtdProduto;

    @Column(name = "vl_total")
    private Double            vlTotal;

    @Column(name = "vl_unitario")
    private Double            vlUnitario;

    @Override
    public String getNmEntity()
    {
        return "VendaProduto";
    }

    public Long getCdId()
    {
        return cdId;
    }

    public void setCdId(Long cdId)
    {
        this.cdId = cdId;
    }

    public Produto getProduto()
    {
        return produto;
    }

    public void setProduto(Produto produto)
    {
        this.produto = produto;
    }

    public Venda getVenda()
    {
        return venda;
    }

    public void setVenda(Venda venda)
    {
        this.venda = venda;
    }

    public Integer getQtdProduto()
    {
        return qtdProduto;
    }

    public void setQtdProduto(Integer qtdProduto)
    {
        this.qtdProduto = qtdProduto;
    }

    public Double getVlTotal()
    {
        return vlTotal;
    }

    public void setVlTotal(Double vlTotal)
    {
        this.vlTotal = vlTotal;
    }

    public Double getVlUnitario()
    {
        return vlUnitario;
    }

    public void setVlUnitario(Double vlUnitario)
    {
        this.vlUnitario = vlUnitario;
    }
    
}
